---
title: GraphQL for Sui RPC (Beta)
sidebar_label: GraphQL (Beta)
description: GraphQL is a public service for the Sui RPC that enables you to efficiently interact with the Sui network.
beta: devnet, testnet, mainnet
---

GraphQL for the Sui RPC is a public service that enables interacting with the Sui [network](https://sui.io/networkinfo).

To get started with GraphQL for the Sui RPC, check out the [Getting Started](../guides/developer/getting-started/graphql-rpc.mdx) guide. If you'd like to learn more about the concepts used in the GraphQL service, check out the [GraphQL](../concepts/graphql-rpc.mdx) for Sui RPC concepts page.

## Key Types

All GraphQL API elements are accessible via the left sidebar, the following are good starting points to explore from.

- "Queries" lists all top-level queries for reading the chain state, from reading details about addresses and objects to <a href="/references/sui-api/sui-graphql/reference/api/queries/dry-run-transaction-block" data-noBrokenLinkCheck='true'>dryRunTransactionBlock</a>, which has an execution-like interface but does not modify the chain.
- "Mutations" lists operations that can modify chain state, like <a href="/references/sui-api/sui-graphql/reference/api/mutations/execute-transaction-block" data-noBrokenLinkCheck='true'>executeTransactionBlock</a>.
- <a href="/references/sui-api/sui-graphql/reference/types/objects/object" data-noBrokenLinkCheck='true'>Object</a> is the type representing all on-chain objects (Move values and packages).
- <a href="/references/sui-api/sui-graphql/reference/types/objects/address" data-noBrokenLinkCheck='true'>Address</a> corresponds to account addresses (derived from the public keys of signatures that sign transactions) and can be used to query the objects owned by these accounts and the transactions they have signed or been affected by.
- <a href="/references/sui-api/sui-graphql/reference/types/objects/owner" data-noBrokenLinkCheck='true'>Owner</a> represents any entity that can own a <a href="/references/sui-api/sui-graphql/reference/types/objects/move-object" data-noBrokenLinkCheck='true'>MoveObject</a> to handle cases where it is not known whether the owner is an <a href="/references/sui-api/sui-graphql/reference/types/objects/object" data-noBrokenLinkCheck='true'>Object</a> or an <a href="/references/sui-api/sui-graphql/reference/types/objects/address" data-noBrokenLinkCheck='true'>Address</a> (for example, from the perspective of a Move object looking at its owner).

## Related links

- [GraphQL migration](../guides/developer/advanced/graphql-migration.mdx): Migrating to GraphQL guides you through migrating Sui RPC projects from JSON-RPC to GraphQL.  
- [GraphQL quick-start](../guides/developer/getting-started/graphql-rpc.mdx): Querying Sui RPC with GraphQL gets you started using GraphQL to query the Sui RPC for on-chain data.
- [GraphQL concepts](../concepts/graphql-rpc.mdx): GraphQL for Sui RPC examines the elements of GraphQL that you should know to get the most from the service.
